home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 1997-04-05 | 39.3 KB | 1,220 lines
#=================================================================# # Smacker Script Code for Maneuvering Through dub Media's Demo CD # # copyright 1997 dub Media Inc. # #=================================================================# ScreenWindowAutoPause 1 SystemDisplayResolution 3 ScreenGraphics scrn, 800, 600 If scrn=0 Goto "Finisherror" BitmapAlloc palette, 0, 0 BitmapSetPaletteValue palette, 0, 0 BitmapAlloc nomouse, 0, 0 AnimationLoadToBitmap "cursors\sounds", soundcursor AnimationLoadToBitmap "cursors\c_about", AboutUscursor AnimationLoadToBitmap "cursors\c_sand", SBcursor AnimationLoadToBitmap "cursors\c_pie", imagecursor AnimationLoadToBitmap "cursors\c_chick", dubVRcursor AnimationLoadToBitmap "cursors\c_pizza", animcursor AnimationLoadToBitmap "cursors\c_mayo", SCARABcursor AnimationLoadToBitmap "cursors\arrow", backcursor AnimationLoadToBitmap "cursors\openfrz", openfreezer AnimationLoadToBitmap "cursors\closefrz", closefreezer AnimationLoadToBitmap "cursors\openveg", openveggies AnimationLoadToBitmap "cursors\closeveg", closeveggies AnimationLoadToBitmap "cursors\fastleft", fastleft AnimationLoadToBitmap "cursors\fastrite", fastrite AnimationLoadToBitmap "cursors\panarrow", panarrow AnimationLoadToBitmap "cursors\panleft", panleft AnimationLoadToBitmap "cursors\panright", panright AnimationLoadToBitmap "cursors\hand", handcursor AnimationLoadToBitmap "cursors\stills", stillcursor AnimationLoadToBitmap "cursors\panorama", pancursor AnimationLoadToBitmap "cursors\demo", democursor AnimationLoadToBitmap "cursors\slides", slideshowcursor AnimationLoadToBitmap "cursors\filmreel", filmcursor AnimationLoadToBitmap "cursors\pageleft", pageleft AnimationLoadToBitmap "cursors\pagerite", pagerite # get the generic names in the variable table VarSet imagelist, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" VarSet imagename, "12345678" VarSet imagecount, 0 VarSet imagepiece, 0 VarSet imageindex, 0 Varset imagestep, 1 #Kitchen Sounds Variable Set VarSet sounds, "milk soda jam mayo wcream dressingpickle blender cocoa ice tvdinnericecreamonion tomato carrot " #Space Bar Still Images Variable Set VarSet thudstill, "thud fleeb parker barman chamber minecartbarks lilypad moth gordo winky vedj tunk dock zzazzl " #Space Bar Panoramas Variable Set VarSet thudpan, "adp bbp bdp bjp brp ddp dhp kap nhp sdp tbp tcp vap zep " #Images Stills Variable Set VarSet still, "study diner fnlx guitars mockup2 eandr eand0127eandr2 eand0137eandr3 eandr1 eand0060eandr4 kitch kiva qlips smokerm1smokerm2smokerm3veranda1veranda2veranda3" #Images Panoramas Variable Set VarSet piepan, "smokerm verandah" #Scarab Still Images Variable Set VarSet scarabstill, "anubis anushoothorus horusgodpyramid sekhmet missionsallthreelose " #Scarab Screen Shots Variable Set VarSet scarabshot, "screen1 screen2 screen3 screen4 action1 action3 action4 action6 action7 action8 action9 action13action15action16action17action19action24action11" #Scarab City Shots Variable Set VarSet scarabcity, "aswan cairo giza helwan karnak luxor memphis " #Animations Variable Set VarSet movies, "sb_introsc_introanubis sekhmet horus entthud kitchen plane joiner thudjumpmuseum admonishmarmkillrepair sneeze stepover" #dubVR Demos Variable Set VarSet dubdemos, "barvr gardenvrcutevr titanvr droidvr thudvr eggvr " VarSet soundcount, 15 VarSet thudpancount, 14 VarSet pancount, 2 VarSet moviecount, 16 VarSet democount, 7 VarSet SlideNum, 0 VarSet ddraw, 0 VarSet dsound, 0 TextTransColor 0 TextBackColor 0 TextColor 25 AnimationPlay scrn, -1, -1, 1, 128, "dublogo" Gosub "Keyburn" #===============================================================# # Do the DirectX III installation thingy... # #===============================================================# EnvGet ddpath, "windir" FileExists ddraw, "%ddpath%\system\ddraw.dll" FileExists dsound, "%ddpath%\system\dsound.dll" If ddraw=1 If dsound=1 Goto "ddrawOK" Gosub "Screen8x6" AnimationPlay scrn, 0, 0, 1, 0, "screens\fridge" InputMsgWin scrn, -1, -1, 12, "DirectX III is required for several of the demos. Would you like to install it now?" If scrn=8 Goto "Welcome" InputMsgWin ddex, -1, -1, 1, "The DirectX III installation may need to reboot your machine. If this happens, you can simply reinsert the CD afterwards to restart the demo." DirChange ddex, "DirectX" Execute ddex, "dxsetup.exe" DirChange scrn, "..\" Goto "Welcome" :ddrawOK Gosub "Keyburn" MCISendString scrn, "close music" MCISendString scrn, "open kitchvr\A1526SM.WAV alias music" MCISendString scrn, "play music" Delay 1000 SystemDisplayResolution 0 DirChange ddex, "kitchvr" Execute ddex, "kitchvr.exe" DirChange ddex, "..\" Gosub "Screen8x6" MCISendString scrn, "close music" BitmapSetPalette palette AnimationPlay scrn, 0, 0, 1, 1040, "audio\dooropen" AnimationPlay scrn, 0, 0, 1, 0, "screens\fridge" :Welcome Gosub "Keyburn" InputMsgWin scrn, -1 -1, 1, "Welcome to dub Media's demo CD! This demo will NOT write anything on your hard drive, but it WILL change graphic modes as it runs. Let's go... everything's inside the fridge..." SystemColors ddex If ddex < 16000 InputMsgWin scrn, -1 -1, 1, "We recommend that you exit the demo, and set your screen to 16-bit hi-color mode. Some of the demos will look better in hi-color." Goto "FridgeWait" #============================================================# #This RefreshFridge section takes you back to the close-up of# #the fridge with its hot spot selection areas. # #============================================================# :RefreshFridge Gosub "Keyburn" ScreenClear 0 BitmapSetPalette palette AnimationPlay audio, 0, 0, 1, 1040, "audio\dooropen" AnimationPlay scrn, 0, 0, 1, 0, "screens\fridge" :FridgeWait MouseRemoveAll MouseAdd "whole", 0, 0, 800, 600, 0 MouseAdd "freezer", 86, 15, 271, 106, openfreezer MouseAdd "veggie", 252, 406, 62, 45, openveggies MouseAdd "milk", 407, 379, 72, 80, soundcursor MouseAdd "soda", 492, 424, 115, 127, soundcursor MouseAdd "jam", 421, 296, 61, 61, soundcursor MouseAdd "ketchup", 387, 166, 89, 109, AboutUscursor MouseAdd "about", 380, 0, 300, 166, AboutUscursor MouseAdd "whipcream", 491, 184, 38, 110, soundcursor MouseAdd "dressing", 536, 177, 55, 141, soundcursor MouseAdd "pickles", 598, 240, 63, 95, soundcursor MouseAdd "blender", 0, 166, 58, 144, soundcursor MouseAdd "cocoa", 29, 316, 55, 45, soundcursor MouseAdd "jello", 100, 200, 110, 154, SCARABcursor MouseAdd "sandwich", 230, 186, 114, 60, SBcursor MouseAdd "pie", 251, 328, 95, 50, imagecursor MouseAdd "chicken", 135, 355, 110, 64, dubVRcursor MouseAdd "pizza", 250, 260, 90, 60, animcursor MouseAdd "mayo", 492, 325, 117, 84, soundcursor MouseAdd "backout", 266, 500, 202, 100, backcursor :LoopFridge Gosub "Keyburn" VarSet soundcurrent, -1 InputChar key If key="whole" Goto "LoopFridge" If key="freezer" Goto "OpenFreezer" If key="veggie" Goto "OpenVeggie" If key="jello" Goto "SoundJello" If key="milk" VarSet soundcurrent, 0 If key="soda" VarSet soundcurrent, 1 If key="jam" VarSet soundcurrent, 2 If key="mayo" VarSet soundcurrent, 3 If key="whipcream" VarSet soundcurrent, 4 If key="dressing" VarSet soundcurrent, 5 If key="pickles" VarSet soundcurrent, 6 If key="blender" VarSet soundcurrent, 7 If key="cocoa" VarSet soundcurrent, 8 If key="ice" VarSet soundcurrent, 9 If key="tvdinner" VarSet soundcurrent, 10 If key="icecream" VarSet soundcurrent, 11 If key="onion" VarSet soundcurrent, 12 If key="tomato" VarSet soundcurrent, 13 If key="carrot" VarSet soundcurrent, 14 If key="sandwich" Goto "SoundSandwich" If key="pie" Goto "SoundPie" If key="chicken" Goto "SoundChicken" If key="pizza" Goto "SoundPizza" If key="ketchup" Goto "SoundKetchup" If key="about" Goto "SoundKetchup" If key="closefreeze" Goto "CloseFreezer" If key="closeveg" Goto "CloseVeggie" If key="backout" Goto "Finish" If key="exit" Goto "Finish" If key="Alt f4" Goto "Finish" If key="ESCAPE" Goto "Finish" If soundcurrent<0 Goto "LoopFridge" DirChange scrn, "audio\" Compute soundindex, soundcurrent * 8; Compute soundindex, soundindex + 1; StrPiece sound, soundindex, 8, sounds StrTrim sound, sound AnimationPlay audio, 0, 0, 1, 1040, sound DirChange scrn, "..\" Goto "LoopFridge" #--------------------------------------------------------------- #Open Freezer Door -- will open and expose the contents inside #--------------------------------------------------------------- :OpenFreezer AnimationPlay freezeopen, 52, 0, 1, 0, "frzopen" AnimationPlay audio, 0, 0, 1, 1040, "audio\open" MouseAdd "ice", 99, 103, 59, 38, soundcursor MouseAdd "tvdinner", 161, 93, 109, 48, soundcursor MouseAdd "icecream", 274, 78, 73, 62, soundcursor MouseAdd "closefreeze", 82, 150, 311, 27, closefreezer MouseRemove "freezer" Goto "LoopFridge" #---------------------------------------------------- #Close Freezer Door -- restores original fridge image #---------------------------------------------------- :CloseFreezer AnimationPlay closefreeze, 52, 0, 1, 0, "frzclose" AnimationPlay audio, 0, 0, 1, 1040, "audio\close" MouseRemove "ice" MouseRemove "tvdinner" MouseRemove "icecream" MouseRemove "closefreeze" MouseAdd "freezer", 86, 15, 271, 106, openfreezer Goto "LoopFridge" #-------------------------------------------------------------- #Open Veggie Drawer -- will open and expose the contents inside #-------------------------------------------------------------- :OpenVeggie AnimationPlay openveg, 152, 374, 1, 0, "veggies" AnimationPlay audio, 0, 0, 1, 1536, "audio\open" MouseAdd "onion", 193, 435, 49, 40, soundcursor MouseAdd "tomato", 262, 415, 56, 42, soundcursor MouseAdd "carrot", 325, 400, 50, 38, soundcursor MouseAdd "closeveg", 267, 465, 74, 41, closeveggies MouseRemove "veggie" Goto "LoopFridge" #--------------------------------------------------- #Close Veggie Door -- restores original fridge image #--------------------------------------------------- :CloseVeggie AnimationPlay closeveg, 152, 374, 1, 0, "vegclose" AnimationPlay audio, 0, 0, 1, 1040, "audio\close" MouseRemove "onion" MouseRemove "tomato" MouseRemove "carrot" MouseAdd "veggie", 252, 406, 62, 45, openveggies Goto "LoopFridge" #----------- #Jello Sound #----------- :SoundJello AnimationPlay audio, 0, 0, 1, 1040, "audio\jello" Goto "Scarab" #-------------- #Sandwich Sound #-------------- :SoundSandwich AnimationPlay audio, 0, 0, 1, 1040, "audio\sandwich" Goto "Spacebar" #--------- #Pie Sound #--------- :SoundPie AnimationPlay audio, 0, 0, 1, 1040, "audio\pie" Goto "Images" #------------- #Chicken Sound #------------- :SoundChicken AnimationPlay audio, 0, 0, 1, 1040, "audio\chicken" Goto "Dubvr" #----------- #Pizza Sound #----------- :SoundPizza AnimationPlay audio, 0, 0, 1, 1040, "audio\pizza" Goto "Animation" #----------- #Ketchup Sound #----------- :SoundKetchup #AnimationPlay audio, 0, 0, 1, 1040, "audio\ketchup" Goto "AboutUs" #===============# #About Us Screen# #===============# :AboutUs Gosub "Keyburn" MCISendString scrn, "close music" MCISendString scrn, "open screens\A012ASM.WAV alias music" MCISendString scrn, "play music" ScreenClear 0 BitmapSetPalette palette AnimationPlay scrn, 0, 0, 1, 0, "screens\aboutus" MouseRemoveAll MouseAdd "dubVR" 63, 82, 180, 37, handcursor MouseAdd "Images" 65, 122, 182, 33, handcursor MouseAdd "Scarab" 70, 160, 176, 33, handcursor MouseAdd "Animations" 69, 197, 182, 32, handcursor MouseAdd "SpaceBar" 78, 236, 170, 33, handcursor MouseAdd "kitchen" 616, 544, 155, 56, fastrite :LoopAboutUs InputChar key If key="dubVR" Goto "DubVr" If key="Images" Goto "Images" If key="Scarab" Goto "Scarab" If key="Animations" Goto "Animation" If key="SpaceBar" Goto "SpaceBar" If key="kitchen" Goto "EscapeAboutUs" If key="ESCAPE" Goto "EscapeAboutUs" Goto "LoopAboutUs" :EscapeAboutUs MCISendString scrn, "close music" Goto "RefreshFridge" #=====================================# #Space Bar Images and Panoramas Screen# #=====================================# :SpaceBar Gosub "Keyburn" MCISendString scrn, "close music" MCISendString scrn, "open screens\SBAR1.WAV alias music" MCISendString scrn, "play music" Gosub "Screen8x6" AnimationPlay scrn, 0, 0, 1, 0, "screens\paksha" MouseSetXY 400, 300 :SpaceBarMouse Gosub "Keyburn" MouseRemoveAll MouseAdd "pakstill" 330, 72, 251, 195, stillcursor MouseAdd "pakpan" 190, 316, 421, 199, pancursor MouseAdd "paksha" 592, 122, 131, 225, 0 MouseAdd "kitchen" 0, 540, 260, 60, fastleft MouseAdd "sbgamebox" 630, 386, 170, 214, democursor :LoopSpaceBar InputChar key If key="pakstill" Goto "TourSpaceBarStills" If key="pakpan" Goto "SpaceBarPanoramaMenu" If key="paksha" Goto "Paksha" If key="kitchen" Goto "EscapeSpaceBar" If key="sbgamebox" Goto "SpaceBarDemoIntro" If key="ESCAPE" Goto "EscapeSpaceBar" Goto "LoopSpaceBar" :EscapeSpaceBar MCISendString scrn, "close music" MouseRemoveAll ScreenClear 0 AnimationPlay scrn, 0, 0, 1, 0, "spacebar\copyrite" AnimationPlay audio, 0, 0, 1, 1040, "audio\pkwhoa" MouseAdd "back", 0, 0, 100, 600, pageleft MouseAdd "forward", 100, 0, 700, 600, pagerite InputCharOrDelay key, 10000 Goto "RefreshFridge" #------------------------------ #Space Bar Tour of Still Images #------------------------------ :TourSpaceBarStills MCISendString scrn, "close music" MCISendString scrn, "open spacebar\stills\SBAR2.WAV alias music" MCISendString scrn, "play music" MouseRemoveAll MouseAdd "back", 0, 0, 100, 600, pageleft MouseAdd "forward", 100, 0, 700, 600, pagerite MouseSetXY 600, 440 VarSet imagelist, thudstill VarSet imageindex, -1 VarSet imagestep, 1 VarSet SlideNum, 0 :TSBS Gosub "ImageAdvance" ScreenClear 0 DirChange scrn, "spacebar\stills\" AnimationOpen anim, 1, imagename AnimationToScreen anim, -1, -1 AnimationAdvance anim AnimationClose anim DirChange scrn, "..\..\" Gosub "SlideWait" If key<>"ESCAPE" Goto "TSBS" AnimationPlay scrn, 0, 0, 1, 0, "screens\paksha" MCISendString scrn, "close music" Goto "SpaceBarMouse" #----------------------------------------------------------- #Space Bar Panoramas Menu - select to view panoramas without #perspective correction #----------------------------------------------------------- :SpaceBarPanoramaMenu Gosub "Keyburn" MCISendString scrn, "close music" MCISendString scrn, "open spacebar\panorama\SBAR3.WAV alias music" MCISendString scrn, "play music" :SpaceBarPanoramaMenu2 MouseRemoveAll MouseAdd "adp", 181, 161, 202, 28, handcursor MouseAdd "bbp", 171, 200, 220, 28, handcursor MouseAdd "bdp", 407, 161, 225, 28, handcursor MouseAdd "bjp", 414, 200, 210, 28, handcursor MouseAdd "brp", 249, 320, 66, 28, handcursor MouseAdd "ddp", 229, 360, 104, 28, handcursor MouseAdd "dhp", 175, 402, 212, 28, handcursor MouseAdd "kap", 222, 238, 122, 28, handcursor MouseAdd "nhp", 219, 277, 128, 28, handcursor MouseAdd "sdp", 461, 238, 116, 28, handcursor MouseAdd "tbp", 459, 277, 122, 28, handcursor MouseAdd "tcp", 464, 319, 112, 28, handcursor MouseAdd "vap", 479, 359, 80, 28, handcursor MouseAdd "zep", 447, 401, 146, 28, handcursor MouseAdd "kitchen" 0, 540, 260, 60, fastleft MouseAdd "done", 360, 448, 76, 24, 0 AnimationPlay scrn, 0, 0, 1, 0 "screens\paksha" AnimationPlay sbpanmenu, -1, -1, 1, 0, "spacebar\sbpnmenu" :LoopSpaceBarPanoramaMenu VarSet thudpancurrent, -1 InputChar key If key="adp" VarSet thudpancurrent, 0 If key="bbp" VarSet thudpancurrent, 1 If key="bdp" VarSet thudpancurrent, 2 If key="bjp" VarSet thudpancurrent, 3 If key="brp" VarSet thudpancurrent, 4 If key="ddp" VarSet thudpancurrent, 5 If key="dhp" VarSet thudpancurrent, 6 If key="kap" VarSet thudpancurrent, 7 If key="nhp" VarSet thudpancurrent, 8 If key="sdp" VarSet thudpancurrent, 9 If key="tbp" VarSet thudpancurrent, 10 If key="tcp" VarSet thudpancurrent, 11 If key="vap" VarSet thudpancurrent, 12 If key="zep" VarSet thudpancurrent, 13 If key="done" Goto "DoneSBPanorama" If key="kitchen" Goto "EscapeSpaceBar" If key="ESCAPE" Goto "DoneSBPanorama" If key="ENTER" Goto "DoneSBPanorama" If thudpancurrent<0 Goto "LoopSpaceBarPanoramaMenu" DirChange scrn, "spacebar\panorama\" Compute thudpanindex, thudpancurrent * 8 Compute thudpanindex, thudpanindex + 1 StrPiece panname, thudpanindex, 8, thudpan StrTrim panname, panname Gosub "PanoramaView" Goto "SpaceBarPanoramaMenu2" #------------------------------ #Space Bar Panorama Menu Closes #------------------------------ :DoneSBPanorama AnimationPlay scrn, 0, 0, 1, 0, "screens\paksha" MCISendString scrn, "close music" Goto "SpaceBarMouse" #-------------------------------------------------------------------------------------- #Space Bar Intro -- plays before launching into Space Bar Demo. Hitting "ESCAPE" skips #the intro and goes directly to the demo. #-------------------------------------------------------------------------------------- :SpaceBarDemoIntro MCISendString scrn, "close music" MouseRemoveAll Gosub "Screen6x4" DirChange film, "animate\" AnimationPlay scrn, -1, -1, 1, 129, "sb_intro" DirChange film, "..\" Goto "SpaceBarDemo" #-------------- #Space Bar Demo #-------------- :SpaceBarDemo MouseRemoveAll ScreenClear 0 InputMsgWin scrn, -1, -1, 1, "It's time for the Space Bar MEMORY TEST! Remember this: to exit the demo game, type <Alt> Q. Remember: that's <Alt> Q. Got it?" DirChange demo, "sbdemo" Execute demo, "spacebar.exe" Delay 2000 DirChange scrn, "..\" Gosub "Screen8x6" #ScreenClear 0 #InputMsgWin scrn, -1, -1, 1, "OK! You passed the memory test. How did you like the demo?" Gosub "Keyburn" AnimationPlay scrn, 0, 0, 1, 0, "spacebar\sbpix4b" InputChar key Goto "SpaceBar" #------------ #Paksha Talks #------------ :Paksha AnimationPlay sounds, 0, 0, 1, 1040, "audio\paksha" Goto "LoopSpaceBar" #=============# #Images Screen# #=============# :Images MCISendString scrn, "close music" MCISendString scrn, "open screens\A262ASM.WAV alias music" MCISendString scrn, "play music" ScreenClear 0 BitmapSetPalette palette MouseSetXY 400, 300 :ImagesMouse AnimationPlay scrn, 0, 0, 1, 0, "screens\pie" MouseRemoveAll MouseAdd "piestilltext" 60, 182, 118, 31, handcursor MouseAdd "piepantext" 34, 220, 116, 28, handcursor MouseAdd "piestill" 50, 444, 207, 101, slideshowcursor MouseAdd "piepan" 352, 444, 377, 99, handcursor MouseAdd "kitchen" 570, 554, 230, 46, fastrite :LoopImages Gosub "Keyburn" InputChar key If key="piestilltext" Goto "TourStills" If key="piepantext" Goto "PanoramaMenu" If key="piestill" Goto "TourStills" If key="piepan" Goto "PanoramaMenu" If key="kitchen" Goto "EscapeImages" If key="ESCAPE" Goto "EscapeImages" Goto "LoopImages" :EscapeImages MCISendString scrn, "close music" Goto "RefreshFridge" #---------------------------------------------------------- #Still Images Slide Show - the still images advance through #slide show after a delay. #---------------------------------------------------------- :TourStills MouseRemoveAll MouseAdd "back", 0, 0, 100, 600, pageleft MouseAdd "forward", 100, 0, 700, 600, pagerite MouseSetXY 600, 440 VarSet imagelist, still VarSet imageindex, -1 VarSet imagestep, 1 VarSet SlideNum, 0 :TS Gosub "Keyburn" Gosub "ImageAdvance" ScreenClear 0 DirChange scrn, "images\stills\" AnimationOpen anim, 1, imagename AnimationToScreen anim, -1, -1 AnimationAdvance anim AnimationClose anim DirChange scrn, "..\..\" Gosub "SlideWait" If key<>"ESCAPE" Goto "TS" Goto "ImagesMouse" #-------------------------------------------------------- #Images Panoramas Menu - select to view panoramas without #perspective correction #-------------------------------------------------------- :PanoramaMenu AnimationPlay scrn, 0, 0, 1, 0, "screens\pie" AnimationPlay scrn, -1, -1, 1, 0, "images\panmenu" MouseRemoveAll MouseAdd "smokerm" 300, 197, 201, 38, handcursor MouseAdd "verandah" 318, 259, 166, 38, handcursor MouseAdd "kitchen" 570, 554, 230, 46, fastrite MouseAdd "done" 364, 405, 76, 26, 0 :LoopPanoramaMenu Gosub "Keyburn" VarSet pancurrent, -1 InputChar key If key="smokerm" VarSet pancurrent, 0 If key="verandah" VarSet pancurrent, 1 If key="done" Goto "ImagesMouse" If key="kitchen" Goto "EscapeImages" If key="ESCAPE" Goto "ImagesMouse" If key="ENTER" Goto "ImagesMouse" If pancurrent<0 Goto "LoopPanoramaMenu" DirChange srcn, "images\panorama\" Compute panindex, pancurrent * 8 Compute panindex, panindex + 1 StrPiece panname, panindex, 8, piepan StrTrim panname, panname Gosub "PanoramaView" Goto "PanoramaMenu" #=============# #SCARAB Screen# #=============# :Scarab MCISendString scrn, "close music" MCISendString scrn, "open screens\09.WAV alias music" MCISendString scrn, "play music" AnimationPlay scrn, 0, 0, 1, 0, "screens\dogman" MouseSetXY 350, 300 :ScarabMouse MouseRemoveAll MouseAdd "demo" 0, 150, 186, 300, democursor MouseAdd "jello" 191, 198, 171, 261, slideshowcursor MouseAdd "kitchen" 570, 554, 230, 46, fastrite :LoopScarab Gosub "Keyburn" InputChar key If key="demo" Goto "ScarabDemoIntro" If key="jello" Goto "ScarabMenu" If key="kitchen" Goto "EscapeScarab" If key="ESCAPE" Goto "EscapeScarab" Goto "LoopScarab" :EscapeScarab MCISendString scrn, "close music" Goto "RefreshFridge" #-------------------------------------------------------------------------------- #Scarab Intro -- plays before launching into Scarab Demo. Hitting "ESCAPE" skips #the intro and goes directly to the demo. #-------------------------------------------------------------------------------- :ScarabDemoIntro MCISendString scrn, "close music" ScreenClear 0 Gosub "Screen6x4" DirChange film, "animate\" AnimationPlay scrn, -1, -1, 1, 129, "sc_intro" DirChange film, "..\" Goto "ScarabDemo" #----------- #Scarab Demo #----------- :ScarabDemo Gosub "Keyburn" ScreenClear 0 DirChange demo, "scardemo" ScreenWindowAutoPause 0 SystemDisplayResolution 0 If ddraw=1 Execute demo, "scarabx.exe" If ddraw=0 Execute demo, "scarab.exe" Delay 3000 DirChange scrn, "..\" InputMsgWin scrn, -1 -1, 1, "Return to the main demo" Gosub "Screen8x6" ScreenWindowAutoPause 1 Goto "Scarab" #------------------------------------------------------------ #Scarab Tour Menu - brings up a menu with options of choosing #the Still Images Slide Show or the Screenshots Slide Show #------------------------------------------------------------ :ScarabMenu AnimationPlay scrn, 0, 0, 1, 0 "screens\dogman" AnimationPlay scrbmenu, -1, -1, 1, 0, "scarab\scrbmenu" MouseRemoveAll MouseAdd "stills" 258, 197, 282, 35, handcursor MouseAdd "screenshots" 258, 249, 282, 35, handcursor MouseAdd "cities" 258, 301, 282, 35, handcursor MouseAdd "kitchen" 570, 554, 230, 46, fastrite MouseAdd "done" 360, 405, 76, 26, 0 :LoopScarabMenu Gosub "Keyburn" InputChar key If key="stills" Goto "TourScarabStills" If key="screenshots" Goto "TourScarabScreenshots" If key="cities" Goto "TourScarabCities" If key="kitchen" Goto "EscapeScarab" If key="done" Goto "DoneScarab" If key="ESCAPE" Goto "DoneScarab" If key="ENTER" Goto "DoneScarab" Goto "LoopScarabMenu" #------------------------ #Scarab Stills Slide Show #------------------------ :TourScarabStills MCISendString scrn, "close music" MCISendString scrn, "open scarab\stills\L2_3.WAV alias music" MCISendString scrn, "play music" Gosub "Screen6x4" MouseRemoveAll MouseAdd "back", 0, 0, 100, 480, pageleft MouseAdd "forward", 100, 0, 540, 480, pagerite MouseSetXY 600, 440 VarSet imagelist, scarabstill VarSet imageindex, -1 VarSet imagestep, 1 VarSet SlideNum, 0 :TSS Gosub "Keyburn" Gosub "ImageAdvance" ScreenClear 0 DirChange scrn, "scarab\stills\" AnimationOpen anim, 1, imagename AnimationToScreen anim, -1, -1 AnimationAdvance anim AnimationClose anim DirChange scrn, "..\..\" Gosub "SlideWait" If key<>"ESCAPE" Goto "TSS" Gosub "Screen8x6" MCISendString scrn, "close music" Goto "ScarabMenu" #----------------------------- #Scarab Screenshots Slide Show #----------------------------- :TourScarabScreenshots MCISendString scrn, "close music" MCISendString scrn, "open scarab\screens\L3_3.WAV alias music" MCISendString scrn, "play music" Gosub "Screen6x4" MouseRemoveAll MouseAdd "back", 0, 0, 100, 480, pageleft MouseAdd "forward", 100, 0, 540, 480, pagerite MouseSetXY 600, 440 VarSet imagelist, scarabshot VarSet imageindex, -1 VarSet imagestep, 1 VarSet SlideNum, 0 :TSSS Gosub "Keyburn" Gosub "ImageAdvance" ScreenClear 0 DirChange scrn, "scarab\screens\" AnimationOpen anim, 1, imagename AnimationToScreen anim, -1, -1 AnimationAdvance anim AnimationClose anim DirChange scrn, "..\..\" Gosub "SlideWait" If key<>"ESCAPE" Goto "TSSS" Gosub "Screen8x6" MCISendString scrn, "close music" Goto "ScarabMenu" #----------------------------- #Scarab Cities Slide Show #----------------------------- :TourScarabCities MCISendString scrn, "close music" MCISendString scrn, "open scarab\cities\L4_9.WAV alias music" MCISendString scrn, "play music" Gosub "Screen6x4" MouseRemoveAll MouseAdd "back", 0, 0, 100, 480, pageleft MouseAdd "forward", 100, 0, 540, 480, pagerite MouseSetXY 600, 440 VarSet imagelist, scarabcity VarSet imageindex, -1 VarSet imagestep, 1 VarSet SlideNum, 0 :TSC Gosub "Keyburn" Gosub "ImageAdvance" ScreenClear 0 DirChange scrn, "scarab\cities\" AnimationOpen anim, 1, imagename AnimationToScreen anim, -1, -1 AnimationAdvance anim AnimationClose anim DirChange scrn, "..\..\" Gosub "SlideWait" If key<>"ESCAPE" Goto "TSC" Gosub "Screen8x6" MCISendString scrn, "close music" Goto "ScarabMenu" #------------------ #Scarab Menu Closes #------------------ :DoneScarab MouseRemoveAll AnimationPlay scrn, 0, 0, 1, 0, "screens\dogman" Goto "ScarabMouse" #=================# #Animations Screen# #=================# :Animation MCISendString scrn, "close music" MCISendString scrn, "open screens\TOKKA2M1.WAV alias music" MCISendString scrn, "play music" ScreenClear 0 BitmapSetPalette palette MouseSetXY 400, 300 :AnimationMouse AnimationPlay scrn, 0, 0, 1, 0, "screens\pizza" MouseRemoveAll MouseAdd "sbintro" 0, 380, 240, 60, filmcursor MouseAdd "scarabintro" 0, 460, 240, 60, filmcursor MouseAdd "more" 0, 528, 240, 70, handcursor MouseAdd "womanscream" 546, 182, 167, 131, soundcursor MouseAdd "laugh" 532, 356, 183, 83, soundcursor MouseAdd "scream" 616, 458, 169, 77, soundcursor MouseAdd "kitchen" 570, 554, 230, 46, fastrite :LoopAnimation Gosub "Keyburn" VarSet moviecurrent, -1 InputChar key If key="sbintro" VarSet moviecurrent, 0 If key="scarabintro" VarSet moviecurrent, 1 If key="more" Goto "MoreAnimations" If key="womanscream" Goto "Screaming" If key="scream" Goto "Screaming" If key="laugh" Goto "Laughing" If key="kitchen" Goto "EscapeAnimation" If key="ESCAPE" Goto "EscapeAnimation" If moviecurrent<0 Goto "LoopAnimation" MCISendString scrn, "close music" Compute movieindex, moviecurrent * 8 Compute movieindex, movieindex + 1 StrPiece animate, movieindex, 8, movies StrTrim animate, animate Gosub "Screen6x4" DirChange film, "animate\" AnimationPlay scrn, -1, -1, 1, 145, animate DirChange film, "..\" Gosub "Screen8x6" Goto "AnimationMouse" :EscapeAnimation MCISendString scrn, "close music" Goto "RefreshFridge" #---------------------------------------------- #More Animations Menu- brings up a menu list of #more animations you can choose to view #---------------------------------------------- :MoreAnimations MouseRemoveAll AnimationPlay scrn, 0, 0, 1, 0 "screens\pizza" AnimationPlay moreanim, -1, -1, 1, 0, "animate\animmenu" MouseAdd "anubis" 226, 135, 108, 30, handcursor MouseAdd "sekhmet" 226, 178, 108, 30, handcursor MouseAdd "horus" 226, 221, 108, 30, handcursor MouseAdd "enterthud" 217, 262, 128, 30, handcursor MouseAdd "kitchen" 196, 303, 172, 30, handcursor MouseAdd "plane" 174, 346, 219, 30, handcursor MouseAdd "joiner" 170, 387, 225, 30, handcursor MouseAdd "thudjump" 439, 135, 160, 30, handcursor MouseAdd "museum" 442, 178, 154, 30, handcursor MouseAdd "admonish" 465, 221, 112, 30, handcursor MouseAdd "marmkill" 471, 262, 98, 30, handcursor MouseAdd "repair" 411, 303, 215, 30, handcursor MouseAdd "sneeze" 406, 346, 227, 30, handcursor MouseAdd "stepover" 437, 387, 168, 30, handcursor MouseAdd "kitchen" 570, 554, 230, 46, fastrite MouseAdd "done" 360, 472, 75, 25, 0 :LoopMoreAnimations Gosub "Keyburn" VarSet moviecurrent, -1 InputChar key If key="anubis" VarSet moviecurrent, 2 If key="sekhmet" VarSet moviecurrent, 3 If key="horus" VarSet moviecurrent, 4 If key="enterthud" VarSet moviecurrent, 5 If key="kitchen" VarSet moviecurrent, 6 If key="plane" VarSet moviecurrent, 7 If key="joiner" VarSet moviecurrent, 8 If key="thudjump" VarSet moviecurrent, 9 If key="museum" VarSet moviecurrent, 10 If key="admonish" VarSet moviecurrent, 11 If key="marmkill" VarSet moviecurrent, 12 If key="repair" VarSet moviecurrent, 13 If key="sneeze" VarSet moviecurrent, 14 If key="stepover" VarSet moviecurrent, 15 If key="kitchen" Goto "EscapeAnimation" If key="done" Goto "DoneAnimation" If key="ESCAPE" Goto "AnimationMouse" If key="ENTER" Goto "AnimationMouse" If moviecurrent<0 Goto "LoopMoreAnimations" MCISendString scrn, "close music" Compute movieindex, moviecurrent * 8 Compute movieindex, movieindex + 1 StrPiece animate, movieindex, 8, movies StrTrim animate, animate Gosub "Screen6x4" DirChange film, "animate\" AnimationPlay scrn, -1, -1, 1, 145, animate DirChange film, "..\" Gosub "Screen8x6" Goto "MoreAnimations" #------------------ #More Window Closes #------------------ :DoneAnimation MouseRemoveAll AnimationPlay scrn, 0, 0, 1, 0, "screens\pizza" Goto "AnimationMouse" #-------- #Laughing #-------- :Laughing AnimationPlay audio, 0, 0, 1, 1040, "audio\laugh" Goto "LoopAnimation" #--------- #Screaming #--------- :Screaming AnimationPlay audio, 0, 0, 1, 1040, "audio\scream" Goto "LoopAnimation" #============# #DubVR Screen# #============# :Dubvr MCISendString scrn, "close music" MCISendString scrn, "open screens\PICKI2M1.WAV alias music" MCISendString scrn, "play music" ScreenClear 0 BitmapSetPalette palette AnimationPlay scrn, 0, 0, 1, 0, "screens\chicken" MouseSetXY 400, 300 If ddraw=1 Goto "DubVRMouse" InputMsgWin scrn, -1 -1, 1, "You must install DirectX III to run the dubVR demos." Goto "RefreshFridge" :DubVRMouse MouseRemoveAll MouseAdd "demo" 168, 52, 475, 475, democursor MouseAdd "kitchen" 0, 540, 260, 60, fastleft :LoopDubVR Gosub "Keyburn" InputChar key If key="dubvr" Goto "DubVRDemoMenu" If key="demo" Goto "DubVRDemoMenu" If key="kitchen" Goto "EscapeDubVR" If key="ESCAPE" Goto "EscapeDubVR" Goto "LoopDubVR" :EscapeDubVR MCISendString scrn, "close music" Goto "RefreshFridge" #------------------------------------------------------------ #DubVR Demo Menu - brings up a window with a list of VR demos #to view #------------------------------------------------------------ :DubVRDemoMenu AnimationPlay scrn, 0, 0, 1, 0 "screens\chicken" AnimationPlay demomenu, -1, -1, 1, 0, "dbvrmenu" MouseRemoveAll MouseAdd "bar" 170, 160, 225, 49, handcursor MouseAdd "garden" 170, 224, 225, 49, handcursor MouseAdd "queeps" 170, 286, 225, 50, handcursor MouseAdd "titanic" 170, 356, 225, 74, handcursor MouseAdd "gamble" 408, 160, 224, 49, handcursor MouseAdd "busstop" 408, 224, 224, 49, handcursor MouseAdd "eggs" 408, 286, 224, 50, handcursor MouseAdd "shivers" 408, 356, 224, 95, handcursor MouseAdd "kitchen" 0, 540, 260, 60, fastleft MouseAdd "done" 361, 468, 74, 24, 0 :LoopDubVRDemoMenu Gosub "Keyburn" VarSet democurrent, -1 InputChar key If key="bar" Varset democurrent, 0 If key="garden" Varset democurrent, 1 If key="queeps" Varset democurrent, 2 If key="titanic" Varset democurrent, 3 If key="gamble" Varset democurrent, 4 If key="busstop" Varset democurrent, 5 If key="eggs" Varset democurrent, 6 If key="shivers" Goto "Shivers2" If key="done" Goto "DoneDubVR" If key="kitchen" Goto "EscapeDubVR" If key="ESCAPE" Goto "DoneDubVR" If key="ENTER" Goto "DoneDubVR" If democurrent<0 Goto "LoopDubVRDemoMenu" MCISendString scrn, "close music" Compute demoindex, democurrent * 8 Compute demoindex, demoindex + 1 StrPiece dubdemo, demoindex, 8, dubdemos StrTrim dubdemo, dubdemo DirChange demoplay, "%dubdemo%" SystemDisplayResolution 0 ScreenClear 0 Execute demoplay, "%dubdemo%.exe" DirChange scrn, "..\" Goto "DubVRDemoClose" #------------------------------------------------------------------------------------------ #DubVR Demo Close -- prompts user that he is now being returned to the main demo and resets #the system display resolution to 800X600. #------------------------------------------------------------------------------------------ :DubVRDemoClose Gosub "Screen8x6" #InputMsgWin scrn, -1 -1, 1, "Return to the main demo" Goto "DubVRDemoMenu" #---------------------- #Close Dub VR Demo Menu #---------------------- :DoneDubVR AnimationPlay scrn, 0, 0, 1, 0, "screens\chicken" Goto "DubVRMouse" #---------------------- #Play the Shivers2 demo #---------------------- :Shivers2 MouseRemoveAll MCISendString scrn, "close music" DirChange scrn, "s2demo" Gosub "Screen6x4" Execute scrn, "s2demo.exe" ScreenClear 0 Delay 4000 InputMsgWin scrn, -1 -1, 1, "Return to the main demo" DirChange scrn, "..\" Gosub "Screen8x6" Goto "DubVRDemoMenu" #----------------------------------------------------------------- #PanoramaView -- let the user scroll around a panorama, with no #perspective correction #----------------------------------------------------------------- :PanoramaView ScreenClear 0 BitmapAlloc panbmp, 2048, 512 BitmapAlloc piecebmp, 800, 512 BitmapAlloc scrnbmp, 800, 512 BitmapAlloc bigpanbmp, 2848, 512 AnimationOpen pan, 0, panname AnimationToBitmap pan, panbmp AnimationAdvance pan AnimationClose pan BitmapToBitmap piecebmp, panbmp, 1248, 0 BitmapToBitmap bigpanbmp, piecebmp, 0, 0 BitmapToBitmap bigpanbmp, panbmp, 800, 0 BitmapSetPalette panbmp BitmapFree panbmp BitmapFree piecebmp VarSet panx, 800 VarSet pany, 0 MouseRemoveAll MouseAdd "panarrow", 140, 30, 520, 510, panarrow MouseAdd "panleft", 40, 30, 100, 510, panleft MouseAdd "panright", 660, 30, 100, 510, panright MouseAdd "fastleft", 0, 30, 40, 510, fastleft MouseAdd "fastrite", 760, 30, 40, 510, fastrite MouseAdd "done1", 0, 540, 800, 60, openfreezer MouseAdd "done2", 0, 0, 800, 30, closefreezer DirChange scrn, "..\..\" :LoopPanorama BitmapToBitmap scrnbmp, bigpanbmp, panx, pany BitmapToScreen scrnbmp, 0, 44 :LoopPanorama2 MouseX mx MouseY my MouseX fx MouseY fy InputCharOrDelay key, 1 If key="ESCAPE" Goto "EscapePanorama" If key="ENTER" Goto "EscapePanorama" If key="done1" Goto "EscapePanorama" If key="done2" Goto "EscapePanorama" If key="RIGHT MOUSE" Goto "EscapePanorama" If mx<=660 If mx>=140 goto "LoopPanorama2" If mx>660 Compute panx, panx + 8 If mx<140 Compute panx, panx - 8 If fx>760 Compute panx, panx + 16 If fx<40 Compute panx, panx - 16 If panx>=2048 Compute panx, panx - 2048 If panx<0 Compute panx, panx + 2048 Goto "LoopPanorama" :EscapePanorama BitmapFree scrnbmp BitmapFree bigpanbmp Return #============================================================# #SlideWait - wait an initial 60 seconds, then flip every 10 # #============================================================# :SlideWait If SlideNum<>0 Goto "SlideWait1" InputCharOrDelay key, 60000 If key="DELAY" Varset SlideNum, 1 If key="DELAY" Varset imagestep, 1 Goto "SlideWaitExit" :SlideWait1 InputCharOrDelay key, 10000 If key<>"DELAY" Varset SlideNum, 0 :SlideWaitExit If key="LEFT" VarSet imagestep, -1 If key="PAGEUP" VarSet imagestep, -1 If key="BACKSPACE" VarSet imagestep, -1 If key="back" VarSet imagestep, -1 If key="RIGHT" VarSet imagestep, 1 If key="PAGEDOWN" VarSet imagestep, 1 If key="TAB" VarSet imagestep, 1 If key="forward" VarSet imagestep, 1 If key="RIGHT MOUSE" VarSet key, "ESCAPE" If key="ENTER" VarSet key, "ESCAPE" If key="SPACE" VarSet key, "ESCAPE" Return #============================================================# #Image Advance - generic filename sequencer # #============================================================# :ImageAdvance StrLength imagecount, imagelist Compute imagecount, imagecount / 8 Compute imagecount, imagecount - 1 Compute imageindex, imageindex + imagestep If imageindex > imagecount Varset imageindex, 0 If imageindex < 0 Varset imageindex, imagecount Compute imagepiece, imageindex * 8 Compute imagepiece, imagepiece + 1 StrPiece imagename, imagepiece, 8, imagelist StrTrim imagename, imagename Return #============================================================# #Screen6x4 set the screen to 640x480 mode # #============================================================# :Screen6x4 ScreenClear 0 SystemDisplayResolution 2 ScreenGraphics scrn, 640, 480 If scrn=0 Goto "Finisherror" ScreenWindowTitle "" ScreenClear 0 MouseRemoveAll Return #============================================================# #Screen8x6 set the screen to 800x600 mode # #============================================================# :Screen8x6 ScreenClear 0 SystemDisplayResolution 3 ScreenGraphics scrn, 800, 600 If scrn=0 Goto "Finisherror" ScreenWindowTitle "" ScreenClear 0 MouseRemoveAll Return #============================================================# #Keyburn use up any buffered keypresses # #============================================================# :Keyburn InputCharOrDelay key, 2 If key<>"DELAY" Goto "Keyburn" Return #===========================================================# #Finish will take you out of the dub Media Demo CD program. # #===========================================================# :Finisherror InputMsgWin scrn, -1 -1, 1, "Error- could not establish a new window." SystemColors scrn If scrn > 65536 InputMsgWin scrn, -1 -1, 1, "Try setting Windows to 16-bit color mode, and re-start the demo." End :Finish MouseRemoveAll AnimationPlay scrn, 0, 0, 1, 0, "screens\demoexit" InputCharOrDelay key, 10000 BitmapFree soundcursor BitmapFree AboutUscursor BitmapFree SBcursor BitmapFree imagecursor BitmapFree dubVRcursor BitmapFree animcursor BitmapFree SCARABcursor BitmapFree backcursor BitmapFree openfreezer BitmapFree closefreezer BitmapFree openveggies BitmapFree closeveggies BitmapFree fastleft BitmapFree fastrite BitmapFree panarrow BitmapFree panleft BitmapFree panright BitmapFree handcursor BitmapFree stillcursor BitmapFree pancursor BitmapFree democursor BitmapFree slideshowcursor BitmapFree filmcursor BitmapFree palette BitmapFree pageleft BitmapFree pagerite BitmapFree nomouse SystemDisplayResolution 0 End